ブロッキング・チェックポイントを実装します。チェックポイント処理は、データ・ストアの現在の状態をディスクに記録し、ログ・ファイルを削除するために行われます。このチェックポイントでは、データ・ストアへの排他アクセスを必要とするため、チェックポイントの実行中は他のアプリケーションがデータ・ストアからブロックされる可能性があります。
このプロシージャが呼び出されると、現行のトランザクションがコミットまたはロールバックされたときに、TimesTenはブロッキング・チェックポイントを実行します。その時点で他のトランザクションが進行中であれば、チェックポイントを実行する接続は、他のトランザクションがコミットまたはロールバックされるまで待機します。チェックポイント接続の待機中は、起動する他の新しいトランザクションは、チェックポイントを実行しているトランザクションの後のキューに入ります。その結果、長時間実行するトランザクションがあると、他の多数のトランザクションを待機させることとなります。したがって、このブロッキング・チェックポイントの使用には注意が必要です。非ブロッキング・チェックポイントを実行するには、ttCkptプロシージャを使用します。詳細は、「ttCkpt」を参照してください。
ブロッキング・チェックポイントを使用している場合、ログ・ファイルは必要ありません。このため、このタイプのチェックポイントは、ディスクへのロギングが無効の場合にも使用することができます。ログが存在する場合、TimesTenではリカバリ後にそのログを使用してデータ・ストアが最新状態になります。
ttCkptBlockingには、次のオプションのパラメータがあります。
ttCkptBlockingは結果を返しません。
このチェックポイントはコミットまたはロールバック時に実行されるため、ttCkptBlockingの呼出しは常に成功します。コミットまたはロールバックの実行時に、チェックポイント処理についての問題(ディスク領域の不足やタイムアウト)が発生すると、アプリケーションに警告が返されます。チェックポイントに問題があるコミットやロールバックは、チェックポイントが失敗したとしても成功するため、チェックポイントの問題はエラーとして扱われません。ODBCでは、リターン・コードSQL_SUCCESS_WITH_INFOを伴って警告が返されます。
チェックポイントの詳細は、TimesTenの開発者ガイドのトランザクションの管理とリカバリに関する章を参照してください。